import store from "@/store";
import { getToken } from "@/utils/authToken";
import router from "./router";
// 通过路由器实现全局路由守卫 ---> 拦截所有路由
router.beforeEach((to,from,next)=>{
    // 白名单(让放行的)
    var whiteList = ['/login','/','/reg','/forgetPwd'];
    var index = whiteList.indexOf(to.path);//判断数组里面是否包含某个元素，如果包含则返回下标，不包含则返回-1
    if(index != -1){
        next();
    }else{
        // 废弃 -- var admin = localStorage.getItem("adminInfo")

        // 从vuex中取出用户信息 --- 改成从cookies中取出ecard_token
        // alert(getToken())
        if(getToken() == undefined){
            alert("请先登录哦")
            if(to.path != from.path){
                router.push('/login')
                localStorage.setItem("path",to.path)
            }
        }else{
            // 先去判断一下vuex里面是否有存储admin信息
            // 如果有，直接放行，如果没有，那就先像后端请求一下管理信息，存入vuex然后再放行
            if(store.state.adminId == ""){
                // 这里就要发起请求
                var res = store.dispatch("getAdminInfo").then(res=>{
                    if(res){
                        next();
                    }
                })
                
            }else{
                next();
            }
            
        }
    }
})